package in.rob.client.fragment; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Parcelable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import in.controller.adapter.FileAdapter; import in.controller.handler.FileStreamResponseHandler; import in.data.annotation.FileAnnotation; import in.data.stream.FileStream; import in.lib.Constants; import in.lib.manager.APIManager; import in.lib.manager.ResponseManager; import in.lib.utils.Views; import in.lib.utils.Views.Injectable; import in.model.AdnModel; import in.rob.client.R; import in.rob.client.fragment.base.StreamFragment; @Injectable public class StorageBrowserFragment extends StreamFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.stream_grid_layout, container, false); Views.inject(this, view); getListView().setEmptyView(getEmpty()); return view; } @Override public void setupAdapter() { setAdapter(new FileAdapter(getContext())); getListView().setDividerHeight(0); getListView().setDivider(null); } @Override public void fetchStream(String lastId, boolean append) { FileStreamResponseHandler response = new FileStreamResponseHandler(append); ResponseManager.getInstance().addResponse(getResponseKeys()[0], response, this); APIManager.getInstance().getUserFiles(lastId, response); } @Override public void onListItemClick(AdnModel model) { FileAnnotation file = (FileAnnotation)model; Intent data = new Intent(); data.putExtra(Constants.EXTRA_FILE, (Parcelable)file); getActivity().setResult(Activity.RESULT_OK, data); getActivity().finish(); } @Override public Class getCacheClass() { return FileStream.class; } @Override public String[] getResponseKeys() { return new String[]{"files"}; } @Override public String getCacheKey() { return "storage_files"; } @Override public int getCacheTimeout() { return 0; } }